package com.zgjkhis.modules.charges.service.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @Author yxl
 * @Description
 * @Date 2021/7/19 13:49
 **/
@Data
public class LogisticsCriteria {

    @ApiModelProperty(value = "处方单号", required = true)
    @NotNull(message = "处方不能为空")
    private String orderNo;

    @ApiModelProperty(value = "1为寄付月结，2为到付", required = true)
    @NotNull(message = "付款方式不能为空")
    private Integer payMethod;

    @ApiModelProperty(value = "产品类型 2为顺丰标快（陆运），208为特惠专配，229为精温专递，232为精温专递（样本），233为精温专递（样本陆），采用其他产品请先咨询业务方)",required = true)
    @NotNull(message = "产品类型不能为空")
    private Integer expressType;

    @ApiModelProperty(value = "寄件人姓名",required = true)
    @NotNull(message = "寄件人姓名不能为空")
    private String srcName;

    @ApiModelProperty(value = "寄件人电话（电话）",required = true)
    @NotNull(message = "寄件人电话不能为空")
    private String srcPhone;

    @ApiModelProperty(value = "寄件人省份",required = true)
    @NotNull(message = "寄件人省份不能为空")
    private String srcProvince;

    @ApiModelProperty(value = "寄件人城市",required = true)
    @NotNull(message = "寄件人城市不能为空")
    private String srcCity;

    @ApiModelProperty(value = "寄件人镇/区",required = true)
    @NotNull(message = "寄件人镇/区不能为空")
    private String srcDistrict;

    @ApiModelProperty(value = "寄件人详细地址",required = true)
    @NotNull(message = "寄件人详细地址不能为空")
    private String srcAddress;

    @ApiModelProperty(value = "收件人姓名",required = true)
    @NotNull(message = "收件人姓名不能为空")
    private String destName;

    @ApiModelProperty(value = "收件人电话（手机）",required = true)
    @NotNull(message = "收件人电话不能为空")
    private String destPhone;

    @ApiModelProperty(value = "收件人省份",required = true)
    @NotNull(message = "收件人省份不能为空")
    private String destProvince;

    @ApiModelProperty(value = "收件人城市",required = true)
    @NotNull(message = "收件人城市不能为空")
    private String destCity;

    @ApiModelProperty(value = "收件人镇区",required = true)
    @NotNull(message = "收件人镇区不能为空")
    private String destDistrict;

    @ApiModelProperty(value = "收件人详细地址",required = true)
    @NotNull(message = "收件人详细地址不能为空")
    private String destAddress;

    @ApiModelProperty(value = "件数，不填默认1")
    private Integer packagesNo;

    @ApiModelProperty(value = "寄托物名称",required = true)
    @NotNull(message = "寄托物名称不能为空")
    private String consignment;

    @ApiModelProperty(value = "产品code,MEDICAL_CHART-病案寄递,CHINESE_HERBAL-中药寄递,OTHER-其他",required = true)
    @NotNull(message = "产品code不能为空")
    private String productCode;

    @ApiModelProperty(value = "重量", required = true)
    @NotNull(message = "重量不能为空")
    private String parcelWeighs;

    @ApiModelProperty(value = "保价金额(分)", required = true)
    @NotNull(message = "保价金额不能为空")
    private Long statementValue;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "下次发货时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date nextDeliveryDate;

    @ApiModelProperty(value = "收件人省行政编码")
    @NotNull(message = "收件人省行政编码不能为空")
    private String provinceCode;

    @ApiModelProperty(value = "收件人市行政编码")
    @NotNull(message = "收件人市行政编码不能为空")
    private String cityCode;

    @ApiModelProperty(value = "收件人区行政编码")
    @NotNull(message = "收件人区行政编码不能为空")
    private String areaCode;
    @ApiModelProperty(value = "0:线上，1：线下")
    @NotNull(message = "发货方式不能为空")
    private Integer offline;
    @ApiModelProperty(value = "0:顺丰，1：其他")
    @NotNull(message = "快递公司不能为空")
    private Integer expressChannel;
    @ApiModelProperty(value = "物流名称:顺丰、邮政")
    @NotNull(message = "快递公司名称不能为空")
    private String expressName;
    @ApiModelProperty(value = "快递单号")
    private String mailNo;



}
